/**
 * 
 */
package service;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.xml.ws.ServiceMode;

import modelo.dao.PreguntasDao;
import modelo.dao.PreguntasRespuestasDao;
import modelo.dao.RespuestasDao;
import modelo.pojos.Preguntas;
import modelo.pojos.PreguntasHasRespuestas;
import modelo.pojos.Respuestas;

/**
 * @author araujo
 *
 */
@ManagedBean(name = "preguntasService")
@ApplicationScoped
public class PreguntasService {
	
	private PreguntasDao preguntasDao= new PreguntasDao();
	private PreguntasRespuestasDao preResDao= new PreguntasRespuestasDao();
	private RespuestasDao respuestasDao=new RespuestasDao();
	private Respuestas respuesta = new Respuestas();
	List<Respuestas> respuestas;
	List<Preguntas> cuestionario;
	
	
	public List<Preguntas> obtenerCuestionario(){
		
		List<Preguntas> preguntas= new ArrayList<>();
		List<String> respuestas;
		List<Integer> idRespuestas;
		cuestionario= new ArrayList<>();
		Respuestas res;
		preguntas=preguntasDao.loadAll();
		
		for (Preguntas p : preguntas) {
			respuestas=new ArrayList<>();
			idRespuestas=new ArrayList<Integer>();
			List<PreguntasHasRespuestas> pr=preResDao.obtenerIdRespuestas(p.getIdpreguntas());
			for(int i=0;i<pr.size();i++){
				System.out.println(pr.get(i).getRespuestas());
				respuesta.setIdrespuestas(pr.get(i).getRespuestas());
				respuesta=respuestasDao.obtenerRespuesta(respuesta.getIdrespuestas());
				//respuestas = respuestasDao.loadAll(respuesta);
				respuestas.add(respuesta.getRespuesta()+"::"+i);
				idRespuestas.add(respuesta.getIdrespuestas());
			}
			
			/*for(int i= 0; i < respuestas.size(); i++){
				System.out.println(respuestas.get(i).getRespuesta());
			}*/
			
			
			/*for (PreguntasHasRespuestas pr : preResDao.obtenerIdRespuestas(p.getIdpreguntas())) {
				respuestas.add(respuestasDao.obtenerRespuesta(pr.getRespuestas()));
				System.out.println(respuestas);
			}*/

			p.setRespuestas(respuestas);
			p.setIdRespuesta(idRespuestas);
			for (String rest : respuestas) {
				
				System.out.println("ID: "+idRespuestas.get(respuestas.indexOf(rest))+" Respuesta:"+rest);
			}
			cuestionario.add(p);
		}
		
		return cuestionario;
	}
	
	public static void main(String[] args) {
		PreguntasService p= new PreguntasService();
		p.obtenerCuestionario();
	}
}
